FastScripts 2.0 Readme

System Requirements

FastScripts 2.0 is a Mac OS X only application, and requires Mac OS X 10.2 or later.

Installing FastScripts

To install FastScripts, simply drag it to a folder on your hard drive where you  keep your Applications.

Note that if you haven't already installed Apple's Script Menu, you may not have any AppleScripts available in the various script folders on your computer.  FastScripts will find scripts in the ~/Library/Scripts folder in your home directory, in /Library/Scripts, or in /Network/Library/Scripts if you are sharing scripts on a network file system.

FastScripts installs a script menu to the menu bar at the upper-right corner of the screen.  Just double-click the FastScripts application icon to launch it.  Even though it doesn't appear in the dock, it will appear in the menu bar.

If you use FastScripts regularly, you will probably want to configure your Login Items to launch FastScripts when you log in.  The easiest way to do this is to allow FastScripts to automatically set this up for you in the dialog that appears when you first launch it.  Note that if you launch FastScripts from the disk image, you will need to edit your Login Items to point at the version you copy to your disk.

What's New in this Release?

FastScripts 2.0 is a major update which adds several new features: 

- Keyboard shortcuts for accessing any of your scripts.
- Keyboard navigation of the FastScripts menu.
- A Preferences dialog for easily setting options and defining keyboard shortcuts.
- A number of subtle bug fixes and "smooth operating" enhancements.

For more information on these features, see the "What Can FastScripts Do" section, below. 

What Can FastScripts Do?

- Keyboard shortcuts for accessing any of your scripts.
	- Accessible from any application
- Keyboard navigation of the FastScripts menu.
	- Type selection of items by name
	- Hold down modifier keys just like when mousing.
- A Preferences dialog for easy configuring options and features.

FastScripts is a utility for quickly and elegantly running scripts (AppleScript or shell scripts) from whichever application you happen to be running at the moment.  In most respects, it can be considered a replacement for the Apple-provided "Script Menu" menu extra.  FastScripts offers a refined appearance and improved organization of the menu contents.  In addition to the functionality provided by Apple's Script Menu utility, FastScripts provides all of the following:

Configurable Keyboard Shortcuts. Execute scripts from anywhere on your Mac, without leaving the keyboard! Any script that FastScripts can execute from its menu can be configured to run quickly in response to your desired key combination. Additionally, FastScripts supports a keyboard shortcut for accessing the menu. Any script in the FastScripts menu can be selected by keyboard navigation. Hold down the option or shift key to edit or reveal the script instead of executing it.

Smart Switching. This is one of the most important features of FastScripts!  When you run a script, we switch the application context only when appropriate.  Apple's utility switches context regardless of the script's functionality, and then neglects to switch back when the script is finished running!  With FastScripts, focus remains on the application you're working on.  If the executed script needs to put up a window, the context is switched to the script.  When you dismiss the dialog, FastScripts switches you back to the application you were working in!

Convenient menu shortcuts. When you get an inclination to edit a script or reveal it in the finder, you no longer have to go digging through folders in the Finder.  FastScripts makes it super-easy to edit and reveal script files: just hold down a modifier key as you select menu items.  Shift key for revealing and option key for editing.

Elegant application-specific script support.  FastScripts is designed to display your scripts in as convenient and "natural" a form as possible.  Apple's application-specific script support puts the scripts for the current app all the way at the bottom of the menu, making it harder to navigate to than any of the other scripts!  In FastScripts, the application--specific scripts are displayed prominently at the top of the menu, right where you would expect to find them.

Direct execution of applet and droplet script code.  Scripts that are packaged as applicationsfor convenient launching from elsewhere in the system can take a lot longer to execute when launched as applets.  FastScripts recognizes such scripts, but runs the script in its own application context, saving yet more time!
		
Finally, FastScripts is, well, fast!  FastScripts operates on the assumption that if you care enough about a script to put it in an easy-access menu, you don't want to waste any time at all getting it to execute when you select it.  To eliminate as much delay as possible, FastScripts preloads every script, essentially "priming" it for execution.  As a result, it takes a little while for FastScripts to finish loading scripts when it's first started, but every script you execute afterwards will be lightning fast!

Frequently Asked Questions (aka the "Help" section)

Q: How do I use the application-specific scripts feature?
A: FastScripts uses the same organizational cue as Apple's menu to determine whether a script belongs in the "Application Specific" section of the menu.  Inside your "Scripts" folder, make a folder called "Applications".  You can do this easily by asking FastScripts to open your Scripts folder, then selecting "New Folder" from the Finder's "File" menu.  Once you have the Applications folder created, any other Folders inside that are treated as application specific "sets."  The folders inside the Applications folder should be named after the application you intend to use the scripts in.  For example a folder called "Safari" would contain scripts that were useful while running Safari.  You can put script files or aliases to script files in these folders.  Any scripts in those folders will be shown in the application-specific section of the FastScripts menu when the desired application is active.

Q: Can I easily open a script for editing from the FastScripts menu?
A: Yes. To open a script for editing, simply hold down the option key (and only the option key) while selecting a script from the menu.  The selection cursor will change to a "Pencil" icon to reflect your intended action.  

Q: Can I easily reveal a script file in the Finder from the FastScripts menu?
A: Yes. To reveal a script or folder in the Finder, hold down the shift key while selecting an item in the menu.  The cursor will change to a "link arrow" to reflect your intended action.

Q: I like to use a different application to edit my scripts.  Can FastScripts use that instead?
A: Yes. FastScripts can be configured to use whatever application you like to edit AppleScript or shell script (text) files.  To choose your favorite applications for this purpose, open the FastScripts Preferences dialog ([FastScripts Icon]->FastScripts->Preferences), and select the "Editors" pane from the tab view.

Q: FastScripts isn't accepting my keyboard shortcut - weird stuff is happening. What gives?
Since FastScripts uses the system-wide mechanism for keyboard shortcuts, you must be sure that the keyboard shortcut you choose is not already in use by the system or another application. If you are experiencing weird results when you try to enter a keyboard shortcut, try choosing a different key combination. The combination you're pressing might be set up to do something different by another application.
            
Q: I don't like the "[AppName] Scripts" label in the app-specific section.  Can I remove it?
Q: I don't like the "Applications" folder showing up in the FastScripts menu.  Can I remove it?
A: Yes. To hide these items, simply deselect the appropriate checkbox in the FastScripts preferences dialog.  Open the FastScripts Preferences dialog ([FastScripts Icon]->FastScripts->Preferences), and select the "Appearance" pane from the tab view.

For up-to-date answers to common questions, visit the following web site:

http://www.red-sweater.com/RedSweater/FSHelp.html

Version History

2.0.2 - Fix a bug that could cause multiple copies of a single script to show up in the FastScripts menu.
2.0.1 - Fix a bug with app-specific script syncing.
2.0 - Major revamp with keyboard shortcut support, a preferences dialog, and more. First version requiring 10.2 or later.
1.1.5 - Address an issue with aliases to folders in the script hierarchy.
1.1.4 - Update to address a variety of issues caused by script directories containing a large number of files.
1.1.2 - Minor update to prevent restoring the current application if the script intentionally changed to another process.
1.1.1 - Minor fixes to allow applications that are not "packaged" applications to be configured as the script editing app.
1.1 - Major update adding script edit and reveal shortcuts, automatic resynchronizing, and application-specific scripts.
1.0.2 - Execute script code from within AppleScript applets and droplets - without launching them!
1.0.1 - Fix a bug where scripts that contain periods in their titles had their names cut short in the menu.
1.0 - Initial Release!

Acknowledgements

- Thanks first and foremost to all the registered users who have shown their support for FastScripts!

- FastScripts uses NDAppleScriptObject by Nathan Day.  Thanks, Nathan!

- FastScripts BDAlias by Chris Hanson of bDistributed.com.  See license details at the end of this file.

- Thanks to the following people for bug reports and testing pre-release builds:
	Richard Bodman
	Christopher Dickens
	David Enns	
	Rob Jorgensen	
	Julio Jose Sancho Ordaz
	Christopher Stone
	Craig Sutherland	
	Eggert Thorlacius
	Allen Watson
	
Copyright and License

FastScripts is ©2003-2004 by Red Sweater Software, All Rights Reserved.

FastScripts 2.0 costs $15.00 US for a single-user license.  

FastScripts 2.0 is a free upgrade for users who purchased a license for an earlier version.

You are granted permission to use this software on an evaluation basis, free of charge, for 30 days or for 100 script executions, whichever takes longer to happen.  To continue using the software after this period, you must purchase a single-user license.  For site licenses or bundling agreements, contact licensing@red-sweater.com. Permission is granted for distribution on software collections, as long as the price charged for the collection does not exceed a reasonable cost for production and distribution.

How Do I Purchase FastScripts?

You can purchase FastScripts directly from the Registration pane in the Preferences dialog.  Using Kagi's integrated, secure purchasing system, you are able to purchase a license and have it automatically installed into the running copy of FastScripts.  Other methods of payment, including PayPal, are described at the Red Sweater online store:

http://www.red-sweater.com/RedSweater/Products.html

Contact Information

Updates to this program, as they become available, can be found at the Red Sweater Software homepage:

http://www.red-sweater.com/

You are invited to report bugs, enhancement requests, praise, or condemnation to the following email address:

fastscripts@red-sweater.com

Thank You

Thank you for supporting FastScripts!

Licensed Software

The "BDAlias" class is used by FastScripts under license from bDistributed.com.  Below is the original copyright text for this license:

----------------
Copyright © 2001-2002, bDistributed.com, Inc.
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

*	Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

*	Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

*	Neither the name of bDistributed.com, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
-----------------